home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
pc_board
/
bbsfind1.zip
/
WHERE44A.ZIP
/
WHEREIS.DOC
< prev
next >
Wrap
Text File
|
1990-12-18
|
43KB
|
1,002 lines
WhereIs Version 4.4a
Released Dec 18, 1990
A PC-DOS / MS-DOS Fast File Finder
_______
____|__ | (tm)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Written by Keith Ledbetter
4240 Ketcham Drive
Chesterfield, VA 23832
(804) 674-0780
(6:00pm - 10:00pm Eastern Time)
Electronic mail on GEnie : ORION.MICRO
CompuServe: 72240,1221
Program and Documentation are Copyright (c) 1990 by Keith Ledbetter.
All rights reserved.
Portions Copyright Borland, International. WhereIs is written in Turbo C++.
This program is produced by a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware principle
works for you. If you are unable to resolve a shareware-related problem with
an ASP member by contacting the member directly, ASP may be able to help. The
ASP Ombudsman can help you resolve a dispute or problem with an ASP member,
but does not provide technical support for members' products. Please write to
the ASP Ombudsman at P.O. Box 5786, Bellevue, WA 98006 or send a Compuserve
message via easyplex to ASP Ombudsman 70007,3536.
WhereIs Registration Form Keith Ledbetter
4240 Ketcham Drive
Chesterfield, VA 23832
WhereIs Version 4.4a Quantity Price
Disk with branding utility ($15/copy): _______ __________
Total enclosed __________
Please make payment by check or money order (in US funds) payable
to "Keith Ledbetter".
Please specify the diskette size(s) that are acceptable for you:
___ 5.25" 1.2MB ___ 3.5" 1.44MB ___ 5.25" 360KB ___ 3.50" 720KB
Name ________________________________________________________
Company ________________________________________________________
Address ________________________________________________________
________________________________________________________
Phone ________________________________________________________
Where did you get WhereIs? ____________________________________
Multi-System and Reseller Licenses:
Site, corporate, network, and reseller licenses are available
for WhereIs. Check the line on the order form or contact me for
more information. The following schedule provides some
examples of multi-system license fees. The fee includes one
master diskette which you may then copy and use on the number
of machines listed below:
# Users Price
------- -------
5 $ 70.00 ($14 / copy)
10 130.00 ($13 / copy)
25 300.00 ($12 / copy)
50 550.00 ($11 / copy)
100 1,000.00 ($10 / copy)
Unlimited 1,500.00
WhereIs v4.4a Page 1
Definition of ShareWare
Shareware distribution gives users a chance to try software before
buying it. If you try a Shareware program and continue using it,
you are expected to register. Individual programs differ on details
-- some request registration while others require it, some specify
a maximum trial period. With registration, you get anything from the
simple right to continue using the software to an updated program with
printed manual.
Copyright laws apply to both Shareware and commercial software,
and the copyright holder retains all rights, with a few specific
exceptions as stated below. Shareware authors are accomplished
programmers, just like commercial authors, and the programs are
of comparable quality. (In both cases, there are good programs
and bad ones!) The main difference is in the method of
distribution. The author specifically grants the right to copy
and distribute the software, either to all and sundry or to a
specific group. For example, some authors require written
permission before a commercial disk vendor may copy their
Shareware.
Shareware is a distribution method, not a type of software. You
should find software that suits your needs and pocketbook,
whether it's commercial or Shareware. The Shareware system makes
fitting your needs easier, because you can try before you buy.
And because the overhead is low, prices are low also. Shareware
has the ultimate money-back guarantee -- if you don't use the
product, you don't pay for it.
WhereIs v4.4a Page 2
Disclaimer - Agreement
Users of WhereIs must accept this disclaimer of warranty:
"WhereIs is supplied as is. The author disclaims all
warranties, expressed or implied, including, without limitation,
the warranties of merchantability and of fitness for any purpose.
The author assumes no liability for damages, direct or conse-
quential, which may result from the use of WhereIs."
WhereIs is a "shareware program" and is provided at no charge
to the user for evaluation. Feel free to share it with your
friends, but please do not give it away altered or as part of
another system. The essence of "user-supported" software is to
provide personal computer users with quality software without
high prices, and yet to provide incentive for programmers to
continue to develop new products. If you find this program
useful and find that you are using WhereIs and continue to use
WhereIs after a reasonable trial period, you must make a reg-
istration payment of $15 to Keith Ledbetter. The $15
registration fee will license one copy for use on any one
computer at any one time. You must treat this software just like
a book. An example is that this software may be used by any
number of people and may be freely moved from one computer
location to another, so long as there is no possibility of it
being used at one location while it's being used at another.
Just as a book cannot be read by two different persons at the
same time.
Commercial users of WhereIs must register and pay for their
copies of WhereIs within 30 days of first use or their license
is withdrawn. Site-License arrangements may be made by con-
tacting Keith Ledbetter.
Anyone distributing WhereIs for any kind of remuneration must
first contact Keith Ledbetter at the address below for authorization.
This authorization will be automatically granted to distributors
recognized by the (ASP) as adhering to its guidelines for
shareware distributors, and such distributors may begin offering
WhereIs immediately (However Keith Ledbetter must still be advised so
that the distributor can be kept up-to-date with the latest
version of WhereIs).
You are encouraged to pass a copy of WhereIs along to your
friends for evaluation. Please encourage them to register their
copy if they find that they can use it. All registered users
will receive a copy of the latest version of the WhereIs
system.
WhereIs v4.4a Page 3
Introduction
Note: For a list of new features in this version, see the file HISTORY.DOC.
Thank you for taking the time to try out WhereIs v4.4a. You will find
that WhereIs can satisfy almost all of your file searching needs. It has
a multitude of search options, some of which are:
o The ability to search inside ARC, ZIP, PKA, PAK,
ZOO, and LZH archived files.
o The ability to search for files that have been
compressed with PK-Ware's PKLite program.
o True regular expression searching on filenames.
o The ability to display duplicate entries across all of
your disk drives (even those duplicates that are in the
archive files mentioned above!).
o Up to 25 filenames can be excluded from the search.
o Built-in ZIP archive error detection. Every time you
do a search that includes ZIP files, every ZIP file on
your hard drive is checked for integrity!
o The ability to do restrictive searches on such criteria
as file dates and file sizes.
o The ability to do a verified (or un-verified) deletion
of any files found in the search (great for periodically
deleting those .BAK files or files with a size of zero).
o Support for Novell's "volume" configurations.
o Default switches can be set in an environment variable.
Don't be fooled by imitations. There are recent file finder programs out
there making claims that their "features" are "never before found in any
file finder programs". Funny! Their "features" (like date-range searching
and filesize searching) have been in our program a YEAR before they were
even released!
Now, here is the only pitch that you'll see in this document for some of
your hard-earned money. WhereIs is being distributed as a Shareware
product. If you find that you are still using this program a couple of
weeks after you get it, please take the time to fill out the registration
form at the front of this documentation file and send in your registration
fee of $15.
WhereIs v4.4a Page 4
Introduction
When you send in your registration fee, you will receive a disk with the
most recent version of WhereIs, along with a BRAND utility that you can use
to place your name and serial number into ALL FUTURE VERSION of WhereIs.
No future upgrade costs; you pay only one time! You will also receive
unlimited telephone support for the program. Registered WhereIs users may
call me at (804) 674-0780 between the hours of 6:00 pm - 10:00 pm (Eastern)
Monday-Friday, and from 10 am - 6 pm on the weekends. Thank you for
supporting WhereIs and my other Shareware programs!
WhereIs v4.4a Page 5
What WhereIs Does
WhereIs helps hard drive owners retain (some of) their sanity by locating
files on their hard drives. We've all had situations where we KNOW that a
file is somewhere on the hard drive; we just can't remember where. Another
added feature of WhereIs is that it can be told to look inside of ARC files,
too. This is a very important feature with the common acceptance of archived
files these days. In this document, "ARC files" is used as a generic term
for any file with the following extension:
.ARC .ZIP .LZH .ZOO .PAK .PKA
Other advanced features of WhereIs include (a) grep-type searching on
filenames (ie: find filenames with a '4' in the fifth character), (b) date
and time range specifiers, and (c) file size range specifiers. There are
many switches for WhereIs, and it is highly recommended that you read this
document carefully so that you will be able to get the most out of the
program. There are very few things you can't do with WhereIs when it comes
to locating files. As an advanced example:
whereis cde:*.bak "[0-9]" -gt1024 -lt2048 -s12-10-89 -b12-20-89 -v
How about THAT for a command line? What this would do is delete all .BAK
files on drives C:, D:, and E: that have a number somewhere in the filename
(ie: PROG01.BAK). But, only if the file is between 1025 and 2047 bytes in
length, and was last modified sometime between the dates of 12-10-89 and
12-19-89.
Yes, I know that you'll probably never need to do something exotic as
this, but it shows the power that you have with WhereIs. Take the time to
learn WhereIs, and it will always be your friend (sounds like Mr. Rogers!).
WhereIs v4.4a Page 6
The Command Line Interface
Invoking WhereIs is simplicity itself. If you do not specify a path,
then WhereIs will search the entire default drive. If you specify a
starting path, then the search will occur from that path downward (only).
Here are some basic command line examples:
whereis ab*.c search entire default drive for any filename
matching "ab*.c".
whereis \turboc\ab*.c search downward from the \turboc\ directory
on the default drive looking for "ab*.c".
whereis d:*.dat -a search entire drive d: and all ARC files
on drive d: looking for "*.dat".
whereis cd:*.dat -a search entire drive c: and drive d: and all
ARC files looking for "*.dat".
whereis myprog search entire default drive looking for
"myprog.*" (WhereIs will append a ".*" to
a filename with no extender specified).
WhereIs v4.4a Page 7
Additional Command Line Switches
Switch: -A
Meaning: search all ARC files
Description: The '-a' switch tells WhereIs to look in any ARC file
encountered for a matching filename. If a matching filename
is found, it will be displayed in parenthesis along with the
full name of the ARC file it resides in.
Switch: -AO
Meaning: search -ONLY- ARC files
Description: The '-ao' switch tells WhereIs to ONLY look in any ARC file
encountered for a matching filename. If a matching filename
is found, it will be displayed in parenthesis along with the
full name of the ARC file it resides in.
Switch: -ARC -PAK -PKA -LZH -ZIP -ZOO
Meaning: search only the ARC formats specified
Description: These switches tell WhereIs to only look inside the specified
ARC files for a matching filename. For example, if you are
sure that the file named MYPROG.EXE is somewhere on drive C:
in a .ZIP file, then
whereis c:myprog.exe -zip
would find the file. Specifying individual ARC format switches
slightly speeds up WhereIs, because the program doesn't have to
waste time searching for (and through) all six ARC formats.
Switch: "regular expression"
Meaning: do a grep-type search on the filename
Description: Any command line string enclosed within double quotes will be
considered a regular expression, and will cause WhereIs to go
into its "grep mode". A regular expression can be used with
or without a filename search mask.
As of version 4.1a, when you specify a regular expression,
WhereIs will also look inside of 4DOS description files for
the string specified. If a match is found, the normal output
line will be displayed, along with the actual 4DOS description
line below the filename line.
Special characters within the quoted string are as follows:
^ - start matching at the first of the filename
? - match any character in this position
[..] - range check on character at this position
The easiest way to explain is with a few examples:
WhereIs v4.4a Page 8
Additional Command Line Switches
whereis *.bat
the regular search; will display any .BAT file found.
whereis *.bat "42"
will display any .BAT file that contains the characters
"42" anywhere in the filename.
whereis *.bat "^???42"
will display any .BAT file that contains the characters
"42" in the fourth position of the filename.
whereis "[0-9]"
will display any file that contains a number anywhere in
the filename.
whereis "[^0-9]"
will display any file that DOES NOT contain a number
anywhere in the filename.
whereis "^???a?[acew-z]"
will display any file that contains an 'a' in the fourth
position of the filename and the letters 'a', 'c', 'e',
'w', 'x', 'y', or 'z' in the sixth position of the name.
These grep masks also work when looking inside of ARC files.
Switch: -C"command to execute"
-O"command to display"
Meaning: Execute (or display) a DOS command on all files found.
Description: This switch tells WhereIs to execute the command within the
double quotes on each matching file found. When doing this
command, you have access to replaceable parameters to get to
the full filename, the pathname only, the filename only, and
the name of the archive member (if you're searching archives).
The only difference between the -o and the -c switches is
that -c actually executes the command whereas -o prints the
command it WOULD have executed to the screen. Because of
this, the -o command can be invaluable. First, you can use
WhereIs v4.4a Page 9
Additional Command Line Switches
it before doing the -c command to make sure that what you
think you told WhereIs to do is the same as what you DID
tell it to do. In other words, if you're about to do a
command that could have side effects (such as deleting files),
it would be good to do the -o command first and look at what
WhereIs actually will do when you execute the -c command.
The second use of the -o command is to redirect all of the
command lines into a batch file that you can execute later.
Replacement parameters for both -c and -o are as follows:
Parm Desc Normal example Archive example
---- ---- ----------------- -----------------
&f full file name c:\dos\xcopy.exe c:\dos\comlib.zip
&p path name only c:\dos\ c:\dos\
&d directory name c:\dos c:\dos
&n file name only xcopy.exe comlib.zip
&m archive member <blank> xcopy.exe
A few examples would probably be the best way to explain this
concept. Let's do a few "real-world" examples here.
1) You have many .DOC files straying all over your hard drive,
and you'd like to incorporate them all into one simple
ZIP file. You could do this with the following command:
C:> whereis -d *.doc -c"pkzip -m c:\docs.zip &f"
2) You want to make a copy of all of your Pascal source code
that has been changed today so that you can take it home
with you:
C:> whereis -d *.pas -s0 -c"copy &f a:\"
3) You want to get a text file listing of every directory
name on your hard drive(s) in the file HARDRIVE.DAT:
C:> whereis -d nul -o"&p" >c:\Hardrive.Dat
4) You want to delete every .BAK file on your system (even
those that are in ZIP files). This would be a 2-step
process:
First, delete the normal .BAK files
C:> whereis *.bak -v -n
Then, delete them from the archive files
C:> whereis -d -ao -zip *.bak -c"pkzip -d &f &m"
Switch: -D
WhereIs v4.4a Page 10
Additional Command Line Switches
Meaning: search all available hard drives.
Description: This switch tells WhereIs to search every hard drive on your
system (including network drives), starting with C:. In other
words, if you have drives C:, D:, E:, and F: then the following
two command lines would do the exact same thing:
whereis cdef:myprog.exe
or
whereis myprog.exe -d
Switch: -DIR
Meaning: include directory names in the search.
Description: This switch tells WhereIs to also include directory names in
the search. This allows you to not only locate a lost file,
but lost directories, too.
Switch: -DUP
Meaning: Display only duplicate filenames on the drives searched.
Description: If the -DUP switch is specified, only those files that have
duplicate entries will be displayed. All other switches are
active during -DUPlicate processing. For example, the
following command line:
whereis *.bat -a -d -dup
would cause WhereIs to search all hard drives (-d) looking for
duplicate .BAT files. WhereIs would also look inside of all
found Archive files (-a).
Switch: -E
Meaning: use "*.*" for subdirectory searches
Description: By default, WhereIs assumes that you don't have any directories
on your hard drive that have extensions in the filename. So,
when WhereIs is looking for new directories, it will search with
a filemask of "*.". This significantly speeds up the hard drive
search. If you do have directories that have extensions in their
names, you must specify the '-e' switch or WhereIs -will not-
find files within that subdirectory. The easiest thing to do is
to set your WhereIs environment variable to default to this
option (see "The WhereIs Environment Variable" below).
Switch: -F
Meaning: display filenames only
Description: This switch causes WhereIs to display only the filename of
matching files that it finds. No header or footer information
will be displayed. This is most useful when you are
redirecting the output from WhereIs to a file.
WhereIs v4.4a Page 11
Additional Command Line Switches
Switch: -G or -GF
Meaning: go to the drive and subdirectory of the found file
Description: If you specify the '-g' switch, WhereIs will prompt you with
Goto this subdirectory? _
whenever it finds a matching file. Press 'Y' to change to
the drive and subdirectory displayed, or 'N' to continue
searching the drive. You may also enter 'Q' to abort WhereIs.
If you specify the '-gf' switch, WhereIs will change to the
directory of the first found file without prompting you.
Switch: -H
Meaning: start searching in the current subdirectory
Description: The '-h' switch tells WhereIs "start searching where I'm at
right now". For example, if you are currently in the TURBOC
subdirectory, then the following two commands would do the
exact same thing:
whereis \turboc\myprog.c
or
whereis myprog.c -h
With the '-h' switch, WhereIs can be used as a directory
program with the ability to list ARC files. For example,
you could create the following batch file and call it
ARCDIR.BAT:
@echo off
whereis %1 -h -a
Now, when you give the command "ARCDIR", you will be shown
the directory listing, along with all files contained within
ARC files in your current subdirectory.
Switch: -I
Meaning: ignore the environment variable WhereIs
Description: The '-i' switch tells WhereIs to ignore any default switches
that you have set with the WhereIs environment variable. This
is most useful if you have page-breaking set up as a default,
but need to redirect WhereIs's output to a file. You could do
this with a command such as:
whereis *.bat -i >files.dat
Switch: -M -R -PL
Meaning: modify WhereIs's default output display
Description: These switches allow you to modify the way that WhereIs
WhereIs v4.4a Page 12
Additional Command Line Switches
displays its output. By default, WhereIs will place the
filename on the left of the screen (just like DIR does).
If you prefer, you can use '-M' to place the filename in the
middle of the screen, '-R' to place the filename on the
right of the screen, or '-PL' to put the pathname on the left
of the screen. Usually set in the environment.
Switch: -K
Meaning: search only the PATH directories
Description: This switch will cause WhereIs to only search in the directories
that are specified in your DOS PATH environment variable.
This option will be used very rarely, but was requested by a
user.
Note: As of v4.1a, this switch was changed. The '-K' switch was
previously the '-C' switch.
Switch: -Y
Meaning: display the output with European-style dates (DD-MM-YY)
Description: Again, a seldom-used switch, but requested by a user.
Switch: -V [-N]
Meaning: do a verified delete of any matching files found
Description: These switches tell WhereIs to delete any matching files found.
If you specify only the '-V' switch, then WhereIs will prompt
you before it deletes each file. If you specify BOTH the '-V'
and the '-N' switch, then WhereIs --WILL NOT-- prompt you; it
will just go ahead and delete the file (PLEASE be careful with
this one!). I use these switches daily to clean up all of the
.BAK files created by Turbo C. For example:
whereis *.bak -v -n
Switch: -W
Meaning: show wasted space occupied by matching files.
Description: This switch is used very little, but can come in handy if you
are trying to figure out how much disk space is being wasted
by a bunch of very small files (batch files are a prime
example). WhereIs will total and display to you the amount of
disk space that is being wasted due to cluster overhead.
Switch: -U
Meaning: display all output in upper case
Description: Some people still prefer to see directory-type listings in
ALL UPPER CASE; if you're one of these people, then just use
the '-U' switch. It's best to set this in your WhereIs
environment variable.
WhereIs v4.4a Page 13
Additional Command Line Switches
Switch: -P
Meaning: pause and wait for a key when the screen fills up
Description: A very handy switch, best used when set in your environment
variable. It will cause WhereIs to pause the screen when it
fills up, so you don't have to go crazy trying to hit the
control-S key.
Switch: -PKLite
Meaning: search for files compressed with PKLite
Description: This switch will cause WhereIs to only look for .COM and
.EXE files that have been compressed with PK-Ware's PKLITE
program. PKLite is a program that compresses executable
programs, and then un-compresses them at runtime.
Switch: -Xfilemask
Meaning: exclude this filespec from the search
Description: The '-X' switch allows you to exclude certain filenames from
the directory search. You can specify up to 25 exclusion
masks. For example, if you wanted to see all files on your
drive except for .OBJ and .PRG files, you could do:
whereis *.* -x*.obj -x*.prg
Switch: -LT -EQ -GT
Meaning: specify a file size range
Description: These switches allow you to only search for files within a
certain size range. Some examples:
whereis *.PAS -LT1024
would display all .PAS files that have a size smaller than
1024 bytes.
whereis *.* -EQ0
would display all files that have a length of zero.
whereis *.* -GT500000
would display all files that are larger than 500,000 bytes.
whereis *.* -GT1023 -LT2049
would display all files that are between 1,024 and 2,048
bytes in size.
Switch: -S -B
Meaning: specify a file date range
WhereIs v4.4a Page 14
Additional Command Line Switches
Description: These switches allow you to only search for files within a
certain date range. These switches are the "since" (S)
switch and the "before" (B) switch. Both switches come in
two flavors; you can specify the date in number of days
(ie: -S5) or with a full date (ie: -S8-19-89). If you
specify either switch with no date specifier, then it defaults
to '0 days'. These date specifiers are also used when looking
inside of archive files. Some examples:
whereis *.PAS -S5
would display all .PAS files that have a date greater than or
equal to 5 days ago (in other words, modified SINCE 5 days ago).
whereis *.PAS -S5-1-89
would display all .PAS files modified SINCE 5/1/89.
whereis *.PAS -B5
would display all .PAS files modified BEFORE 5 days ago.
whereis *.PAS -B5-1-89
would display all .PAS files modified BEFORE 5/1/89.
whereis *.PAS -S5-1-89 -B6-1-89
would display all .PAS files modified between the dates of
5-1-89 and 5-31-89.
whereis *.PAS -S
would display all .PAS files that have been modified today
(defaults to '-S0').
Switch: -Z
Meaning: show only files with their archive bit set
Description: The '-Z' switch allows you to display only those files which
have their "archive bit" set on. In other words, it will show
all files that have been modified since your last backup (if
your backup program clears the archive bit, that is).
Switch: -HIDDEN
Meaning: also show hidden and system files
Description: The '-hidden' switch allows you to also display those files
which are "system" and "hidden" files.
WhereIs v4.4a Page 15
The WHEREIS and WI_DRIVES Environment Variables
When WhereIs begins execution, it searches the environment for a variable
named WHEREIS. If this variable is present, its contents will be appended
onto the command line just as if you had entered them in from the keyboard.
This option is very handy for setting "default options" that you'd like for
WhereIs to perform every time. Simply set the WHEREIS variable in your
AUTOEXEC.BAT file. For example, if you'd like to always (a) page break
when the screen fills up, (b) display the filenames on the right of the
screen, and (c) display output in upper case, you would put the following in
your AUTOEXEC.BAT file:
SET WHEREIS=-P -R -U
WhereIs would then use these options every time you executed the program.
If you specify the "-d" switch (search all drives), then WhereIs will
search the environment looking for a variable named WI_DRIVES. If this
variable is found, WhereIs will use this list as the definition of the
drives to search. If the WI_DRIVES variable does not exist, WhereIs will
use its own list, which defaults to drives c: through z: (ie: cde...z).
The WI_DRIVES variable was added mainly for those people using networks.
WhereIs's reckless abandon of simply searching all drive letters caused
some network users a lot of headaches. It seems that those affected the
most were users of Novell networks. On Novell, you can specify many
different drive letters for the same "volume" (ie: partition), so WhereIs
would show the same physical file many times, since WhereIs thought that
it was really on a different drive. With the WI_DRIVES variable, it is
up to the user to tell WhereIs what drives are physically different. For
example, let's assume that you have 3 volumes defined, and the drive letter
assignments are as follows:
Volume 1 - drives C: and D:
Volume 2 - drives E: and F:
Volume 3 - drives G: and H:
For WhereIs to work correctly, you would put the following line in your
AUTOEXEC.BAT file:
Set WI_DRIVES=CEG
Now, when you search using the "-d" switch, WhereIs won't list duplicate
filenames. I have never used a Novell network, so I'm hoping that this
change will eliminate the problems. This problem was brought up to me in
a letter from Bud Huddleston of Chamblee, GA. Luckily, he went into great
detail on what the problem was. The WI_DRIVES variable was the easiest
way I could think of to attack this problem. If this isn't the best way
to handle the situation, I'd appreciate it if you Novell users would drop
me a line with suggestions. Note that the search for the WI_DRIVES variable
CAN NOT be over-ridden from the command line. If the WI_DRIVES variable
WhereIs v4.4a Page 16
The WHEREIS and WI_DRIVES Environment Variables
exists, it is used every time. If you need to search a different list,
you must specify a drive list with the filename instead of using the "-d"
switch. For example, "whereis cdfg:*.bat".
For those users who are not on a network, you don't need to do anything
differently from version 3.5 of WhereIs. If the WI_DRIVES variable isn't
defined, then v3.6 will perform exactly as v3.5 did.
WhereIs v4.4a Page 17
Duplicate Filename Searching
V4.0 of WhereIs incorporates a feature that I've been wanting for a very
long time - the ability to search all drives, including Archive files, and
display only those files that are duplicated somewhere else. This was a
fairly major upgrade to do, but it turned out (in my opinion) to be the best
added feature to WhereIs yet.
Maybe I'm worse than other people at this, but I'm terrible about doing a
download of a file, un-Arcing it, and then starting to use it. Of course,
the original of that file is still sitting out there somewhere in an Archive
file just eating up hard disk space.
With the new -DUP feature, cleaning up your multiple hard drives from any
duplicate files is much easier. But, be aware that when you invoke the -DUP
switch, WhereIs gets VERY memory-hungry. This is because WhereIs must keep
information on every filename on all of your hard drives (including all of
those filenames in any Archive files) in memory AT ONE TIME.
If you ever get the message "Error: out of memory!" when trying to find
duplicates across all drives, there are a couple of things that you can do.
First of all, see if you can free up any more memory by removing any TSR's
or device drivers. If you still get the "out of memory" message, then there
are two different things that you can do. The first is that you could
compare the drives two (or three) at a time. For example, if you
have drives C:, D:, E:, and F:, first compare drives C: and D:, then C: and
E:, etc. until you've scanned them all.
The second thing you can do (the way I prefer) is to do the duplicate scan
with a filemask; in other words, do the scan on *.EXE, then *.COM, then
*.BAT, etc. For example, here's a sample of what you'd do:
C:> whereis *.com -d -a
C:> whereis *.bat -d -a
C:> whereis *.exe -d -a
I don't see the "out of memory" being a problem except for those people
with HUGE hard drives. I have two 40-meg drives, both packed full of ZIP
files, and I never got close to filling up memory. In addition, WhereIs
is fairly intelligent when saving the names in memory; for example, if
you have 300 files in the path C:\TEST1\TEMP\DATA, the actual pathname
will only get saved one time. If you are looking for duplicates on a very
big hard drive system (let's say 80 meg or more), then WhereIs will take some
time. Don't be alarmed if the program seems to not be doing anything;
searching the file tables of very large hard drives takes some time. I
tinkered with the idea of putting in a twirling cursor or something so that
you'd know WhereIs was still alive, but I decided against it. Since
duplicate searching will probably be redirected to a printer or a disk file
most of the time, I didn't want to trash up the display.
WhereIs v4.4a Page 18
Duplicate Filename Searching
Don't forget that the -DUP switch works in tandem with ALL other WhereIs
switches. For example, specifying -DUP doesn't automatically scan all hard
drives and look inside all Archive files. You must still specify the -A and
-D switches. Also, filename exclusions still work just like normal.
Let's do a few examples:
C:> whereis -d -a -dup
This is the command you'll normally want to do when
searching for duplicates. It causes WhereIs to search
all hard drives, and inside Archive files, looking for
duplicates.
C:> whereis *.bat -d -a -dup
This command would only list the duplicate .BAT files
on your hard drives.
C:> whereis cd:*.* -a -dup -x*.bak -x*.doc
This command would display all duplicate files on drives
C: and D: except any .BAK or .DOC files.
WhereIs v4.4a Page 19
File Distribution Points
Bulletin Board Numbers:
You can always find the latest versions of all of my PC utilities (such
as WhereIs, LCD, DelDir, AdMenu, etc.) on the following BBS's:
Name Location Number
------------------ ---------- ------------
Blue Ridge Express East coast 804-790-1675 (21 lines)
Hard Disk Cafe Midwest 618-684-3990 (file area "Z")
C & C Midwest 618-253-3608
ATT-PAC West coast 415-829-6062
End of document.